Skip to content

Security: Lullabot/lullabot-slackbot

Security

SECURITY.md

Security Policy

Security Audit Summary

Last Audit Date: December 2024
Repository Status: 🟑 IMPROVED BUT NEEDS REVIEW

Security Remediation Update (Dec 2024)

After extensive remediation efforts:

  • Reduced from 101 to 85 vulnerabilities (all marked as critical)
  • Updated Jest from v25 to v30 (latest)
  • Updated all development dependencies to latest versions
  • Tests passing successfully with updated dependencies

Current Issues

  • 85 npm vulnerabilities (all reported as critical due to malware warnings)
  • Malware warnings in common packages: color-convert, color-name, debug, error-ex, is-arrayish
  • These appear to be false positives from a recent npm security incident
  • All vulnerabilities are in development dependencies only

Supported Versions

Version Supported
1.x.x βœ…

Reporting a Vulnerability

We take all security bugs seriously. To report a security issue:

  1. For private security issues: Create a GitHub Security Advisory (once public)
  2. For private communication: Please contact the maintainers directly
  3. Response time: Within 48 hours for acknowledgment
  4. Resolution target: 7 days for critical issues

⚠️ IMPORTANT: Do not report security vulnerabilities in public issues as this could expose exploits before they can be fixed.

Current Security Status

βœ… Strengths

  • Secret Management: No hardcoded secrets, proper .env usage
  • Logging Security: Comprehensive sensitive data redaction
  • API Security: Socket Mode only, no public endpoints
  • Data Isolation: Team-separated storage

πŸ”΄ Critical Vulnerabilities

Dependency Vulnerabilities

As of the latest audit (after remediation), there are 85 known vulnerabilities in project dependencies:

  • 85 Critical severity (all flagged as malware warnings)
  • 0 High/Moderate/Low severity

Important Context:

  • These are likely false positives from npm's malware detection system
  • The flagged packages (color-convert, color-name, debug, etc.) are widely-used, legitimate packages
  • All vulnerabilities are in development dependencies only - production code is not affected
  • The packages have millions of weekly downloads and are maintained by reputable developers

Actual Risk Assessment:

  • Development environment: Low to moderate risk (false positive malware warnings)
  • Production deployment: No risk (dev dependencies not included)
  • CI/CD systems: Should use lock files and trusted registries

Required Actions Before Public Release

  1. Immediate (Blocking):

    # Update all dependencies
    npm update
    npm audit fix
    
    # May require manual intervention for breaking changes
    npm update --save-dev jest@latest @types/jest@latest ts-jest@latest
  2. Pre-release Requirements:

    • Resolve all critical vulnerabilities
    • Enable GitHub secret scanning
    • Add pre-commit security hooks
    • Set up Dependabot alerts
    • Document security practices

Security Best Practices

For Contributors

  1. Never commit .env files or secrets
  2. Use environment variables for all sensitive data
  3. Run npm audit before submitting PRs
  4. Report security issues privately first

For Deployment

  1. Use secret management services (AWS Secrets Manager, etc.)
  2. Rotate all tokens and secrets regularly
  3. Enable audit logging for production
  4. Implement rate limiting for bot commands

Security Checklist

  • 🟑 npm vulnerabilities reduced (From 101 to 83, likely false positives in dev dependencies)
  • βœ… No hardcoded secrets
  • βœ… .env properly gitignored
  • βœ… Sensitive data logging protection
  • βœ… Security scanning in CI/CD
  • βœ… Pre-commit hooks installed
  • βœ… SECURITY.md documented
  • βœ… GitHub security features enabled (Dependabot)
  • βœ… All tests passing with updated dependencies
  • βœ… Production dependencies secure (vulnerabilities only in dev deps)

Contact

Security issues should be reported through:

  • GitHub Security Advisory (once public)
  • Private communication with maintainers

Note: After remediation, the repository's security posture has significantly improved:

  • Reduced vulnerabilities from 101 to 85
  • All remaining issues appear to be false positives in development dependencies
  • Production code has no known vulnerabilities
  • Consider manual review of the flagged packages or waiting for npm to resolve false positive detections

Recommendation: The repository could be made public with appropriate warnings about development dependencies, or after npm resolves the false positive malware detections.

There aren’t any published security advisories