mirror of
https://github.com/anthropics/claude-code.git
synced 2025-10-19 03:17:50 +03:00
Re-add log-issue-events workflow with security fix
Re-implements the workflow removed in #5919, but with proper security: - All GitHub event data is now passed via environment variables - No direct templating of values into shell commands - Prevents remote code execution through malicious issue titles - Still escapes quotes in JSON payload for proper formatting This fixes the security vulnerability while maintaining the functionality of logging issue creation events to Statsig. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
40
.github/workflows/log-issue-events.yml
vendored
Normal file
40
.github/workflows/log-issue-events.yml
vendored
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
name: Log Issue Events to Statsig
|
||||||
|
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [opened]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
log-to-statsig:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
issues: read
|
||||||
|
steps:
|
||||||
|
- name: Log issue creation to Statsig
|
||||||
|
env:
|
||||||
|
STATSIG_API_KEY: ${{ secrets.STATSIG_API_KEY }}
|
||||||
|
ISSUE_NUMBER: ${{ github.event.issue.number }}
|
||||||
|
REPO: ${{ github.repository }}
|
||||||
|
ISSUE_TITLE: ${{ github.event.issue.title }}
|
||||||
|
AUTHOR: ${{ github.event.issue.user.login }}
|
||||||
|
CREATED_AT: ${{ github.event.issue.created_at }}
|
||||||
|
run: |
|
||||||
|
# All values are now safely passed via environment variables
|
||||||
|
# No direct templating in the shell script to prevent injection attacks
|
||||||
|
|
||||||
|
curl -X POST "https://events.statsigapi.net/v1/log_event" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-H "statsig-api-key: $STATSIG_API_KEY" \
|
||||||
|
-d '{
|
||||||
|
"events": [{
|
||||||
|
"eventName": "github_issue_created",
|
||||||
|
"metadata": {
|
||||||
|
"issue_number": "'"$ISSUE_NUMBER"'",
|
||||||
|
"repository": "'"$REPO"'",
|
||||||
|
"title": "'"$(echo "$ISSUE_TITLE" | sed "s/\"/\\\\\"/g")"'",
|
||||||
|
"author": "'"$AUTHOR"'",
|
||||||
|
"created_at": "'"$CREATED_AT"'"
|
||||||
|
},
|
||||||
|
"time": '"$(date +%s)000"'
|
||||||
|
}]
|
||||||
|
}'
|
||||||
Reference in New Issue
Block a user